using System;
using System.Collections.Generic;
using System.Text;

using DbOperation = SqlBlocks.ItemOperation<SqlBlocks.DatabaseOperationType>;

namespace SqlBlocks
{
    /// <summary>
    /// A representation of a SQL database with utility methods for Creating and Altering tables and attributes
    /// </summary>
    public class Changeset
    {

        public Changeset()
        {
        }

		OperationCollection<DatabaseOperationType> operations = new OperationCollection<DatabaseOperationType>();

		/// <summary>
		/// Executes raw SQL against the database
		/// </summary>
		/// <param name="sql">The statement to execute</param>
		public void RunSql(string sql)
		{
			this.operations.Add(new DbOperation(DatabaseOperationType.RawSql, sql));
		}

		public OperationCollection<DatabaseOperationType> GetPendingOperations()
		{
			return this.operations;
		}
    }
}
